import java.util.Arrays;

public class test_11_5_1 {

//    //1.改变原有数组元素的值
//    //实现一个方法transform,以数组为参数,循环将数组中的每个元素乘以2,并设置到对应的数组元素上.
//    //例如、原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}
//
//    public static int[] transform(int[] array){
//        int[] tmpArray=new int[array.length];
//        for (int i = 0; i < array.length; i++) {
//            tmpArray[i]=array[i]*2;
//        }
//        return tmpArray;
//    }
//    public static void main(String[] args) {
//        int[] array={1,2,3};
//        int[] ret=transform(array);
//        System.out.println(Arrays.toString(array));
//        System.out.println("-----------------");
//        System.out.println(Arrays.toString(ret));
//    }


//    //2.奇数位于偶数之前
//    //调整数组顺序使得奇数位于偶数之前。调整之后，不关心大小顺序。
//    //如数组：[1,2,3,4,5,6]
//    //调整后可能是：[1, 5, 3, 4, 2, 6]
//
//    public static void main(String[] args) {
//        int[] array={1,2,3,4,5,6};
//        System.out.println(Arrays.toString(array));
//        int left=0;
//        int right=array.length-1;
//        while(left<right){
//            while((left<right)&&(array[left]%2==1)){
//                left++;
//            }
//            while((left<right)&&(array[right]%2==0)){
//                right--;
//            }
//            int tmp=array[left];
//            array[left]=array[right];
//            array[right]=tmp;
//        }
//        System.out.println("---------------------");
//        System.out.println(Arrays.toString(array));
//    }


//    //3.二分查找
//    //给定一个有序整型数组, 实现二分查找
//
//    public static int find(int[] array,int num){
//        int left=0;
//        int right=array.length-1;
//        while(left<=right){
//            int mid=(left+right)/2;
//            if(array[mid]<num){
//                left=mid+1;
//            } else if (array[mid]>num) {
//                right=mid-1;
//            }else {
//                return mid;
//            }
//        }
//        return -1;
//    }
//    public static void main(String[] args) {
//        int[] array={1,2,3,4,5,6,7,8};
//        int num=6;
//        int ret=find(array,num);
//        System.out.println(ret);
//    }


//    //4.冒泡排序
//    //给定一个整型数组, 实现冒泡排序(升序排序)
//
//    public static int[] sort(int[] array){
//        for (int i = 0; i < array.length-1; i++) {
//            for (int j = 0; j < array.length-1-i; j++) {
//                if(array[j]>array[j+1]){
//                    int tmp=array[j];
//                    array[j]=array[j+1];
//                    array[j+1]=tmp;
//                }
//            }
//        }
//        return array;
//    }
//    public static void main(String[] args) {
//        int[] array={4,3,6,8,1,0,7,2};
//        int[] ret=sort(array);
//        System.out.println(Arrays.toString(ret));
//    }


//    //5.两数之和
//    //给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数，并返回它们的数组下标。
//    //你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。
//    //你可以按任意顺序返回答案。
//    //输入：nums=[2,7,11,15],target=9
//    //输出：[0,1]
//    //解释：因为nums[0]+nums[1]==9,返回[0, 1]。
//
//    public static int[] test(int[] array,int target){
//        int[] ans=new int[2];
//        for (int i = 0; i < array.length-1; i++) {
//            for (int j = i+1; j <array.length ; j++) {
//                if(array[i]+array[j]==target){
//                    ans[0]=i;
//                    ans[1]=j;
//                }
//            }
//        }
//        return ans;
//    }
//    public static void main(String[] args) {
//        int[] array={2,7,11,15,12,1,4};
//        int target=14;
//        int[] ans=test(array,target);
//        System.out.println(Arrays.toString(ans));
//    }


//    //6.只出现一次的数字
//    //给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
//    //示例 1:
//    //输入: [2,2,1]
//    //输出: 1
//    //示例 2:
//    //输入: [4,1,2,1,2]
//    //输出: 4
//
//    public static void main(String[] args) {
//        int[] array={2,3,4,4,1,3,2};
//        int num=0;
//        for (int i = 0; i < array.length; i++) {
//            num^=array[i];
//        }
//        System.out.println(num);
//    }


//    //7.多数元素
//    //给定一个大小为n的数组，找到其中的多数元素。多数元素是指在数组中出现次数大于n/2的元素。
//    //你可以假设数组是非空的，并且给定的数组总是存在多数元素。
//    //示例 1：
//    //输入：[3,2,3]
//    //输出：3
//    //示例 2：
//    //输入：[2,2,1,1,1,2,2]
//    //输出：2
//
//    public static void main(String[] args) {
//        int[] array={2,2,1,1,2,2,3,2,3,2,3};
//        int index=0;
//        for (int i = 0; i < array.length-1; i++) {
//            int count=0;
//            for (int j = i+1; j <array.length ; j++) {
//                if(array[i]==array[j]){
//                    count++;
//                }
//            }
//            if(count>(array.length/2)){
//                index=i;
//                break;
//            }
//        }
//        System.out.println(array[index]);
//    }


//    //8.存在连续三个奇数的数组
//    //给你一个整数数组arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回true否则,返回false 。
//    //示例1：
//    //输入：arr=[2,6,4,1]
//    //输出：false
//    //解释：不存在连续三个元素都是奇数的情况。
//    //示例2：
//    //输入：arr=[1,2,34,3,4,5,7,23,12]
//    //输出：true
//    //解释：存在连续三个元素都是奇数的情况,即[5,7,23].
//
//    public static boolean findnum(int[] array) {
//        for (int i = 0; i < array.length-2; i++) {
//            if((array[i]%2==1)&&(array[i+1]%2==1)&&(array[i+2]%2==1)){
//                return true;
//            }
//        }
//        return false;
//    }
//    public static void main(String[] args) {
//        int[] array={1,2,34,3,4,5,7,23,12};
//        boolean flag=findnum(array);
//        System.out.println(flag);
//    }



}







